using System;
using System.Collections;
using System.Collections.Generic;

namespace Bridges.Model
{
	/// <summary>
	/// Telefone
	/// </summary>
	public class Telefone
	{
		#region Member Variables
		private int _codTelefone;
        private int _numeroTelefone;
        private String _codigoArea;
        private int _ramal;
        private String _tipoTelefone;

		#endregion

		#region Constructors

		public Telefone() { }

		public Telefone( int numerotelefone, String codigoarea, int ramal, String tipotelefone )
		{
			this._numeroTelefone = numerotelefone;
			this._codigoArea = codigoarea;
			this._ramal = ramal;
			this._tipoTelefone = tipotelefone;
		}

		#endregion

		#region Public Properties

		public int CodTelefone
		{
			get {return _codTelefone;}
			set {_codTelefone = value;}
		}

		public int NumeroTelefone
		{
			get { return _numeroTelefone; }
			set { _numeroTelefone = value; }
		}

		public String Codigoarea
		{
			get { return _codigoArea; }
			set
			{
				if ( value != null && value.Length > 2)
					throw new ArgumentOutOfRangeException("Valor inv?lido para Codigoarea", value, value.ToString());
				_codigoArea = value;
			}
		}

		public int Ramal
		{
			get { return _ramal; }
			set { _ramal = value; }
		}

		public String Tipotelefone
		{
			get { return _tipoTelefone; }
			set
			{
				if ( value != null && value.Length > 30)
					throw new ArgumentOutOfRangeException("Valor inv?lido para Tipotelefone", value, value.ToString());
				_tipoTelefone = value;
			}
		}

		#endregion
		
	}

}
